<?php 
/**
 * 应用类
 */
class App{
	//运行 应用类里面的方法 
	public static function run(){
		//1.初始化框架
		self::init();
		//2.设置外部路经
		
		//3.自动载入
		//给当前类里面的autoload类赋予自动载入功能
		spl_autoload_register(array(__CLASS__,'autoload'));
		//4.创建一个控制器的Demo
		self::createDemo();
		//5.实例化控制器，输出欢迎语
		self::appRun();
		
	}
	
	//初始化框架
	private static function init(){
		//设置时区
		date_default_timezone_set('PRC');
		//检测、开启session
		//检测是否存在session_id,如果存在则证明已经开启session
		session_id() || session_start();
	}
	
	//自动载入
	private static function autoload($className){
		require APP_CONTROLLER_PATH."/{$className}.class.php";
	}
	
	//创建一个控制器的Demo 
	private static function createDemo(){
		$str=<<<str
<?php
class IndexController extends Controller{
	public function index(){
		header("Content-type:text/html;charset=utf-8");
		echo '<h2>欢迎使用C49超级无敌大框架 </h2>';
	}
}

?>		
str;
        //组合文件路经
        $path = APP_CONTROLLER_PATH . '/IndexController.class.php';
		//如果文件已经存在，则不重新创建了，如果不存在，就创建一个文件
		is_file($path) || file_put_contents($path, $str);
	}  

	
	//实例化控制器，输出欢迎语
	private static function appRun(){
		//控制器
		$controller=isset($_GET['c']) ? ucfirst($_GET['c']):'Index';
		$controller.='Controller';
		
		//方法
		$action=isset($_GET['a']) ? $_GET['a']:'index';
		
		//实例化
		$obj = new $controller;
		$obj -> $action();
		
	}

	
}


 ?>